package com.season.seasonStudy.javase.j_012_oop;

public class TestClass {
	/**
	 * 
	 * �������:
	 * 	�ҿ���,�ҹҵ�,�Ҳ�����,�ҹ��ӱ�,�ҹ�����....
	 * 		�����ÿһ����������ָ��,һ������Ϊ����,Ϊ����
	 * �������;
	 * 	��,go!,ȥ�½�(����)	��ô��ȥ��,�ǳ����Լ�������,�ǾͲ����ҵ�������
	 * 	������,��̬֮��,ʲô��������Ҫ��
	 * 
	 * ˼ά��ʽ��������,���ò����������
	 * �������:���������ϸ���
	 * �������:�����˷���,��class��ϸ��,ֱ���ڶ�������ϸ���
	 * 
	 * ---------------------------------------------------------------------------------------
	 * 		�������,���һ���ط�����,����Ҫȫ�����²���,�޸�
	 * 		�������,ֻ��Ҫ��ĳһ����ͺ�
	 * 		�������,���õ���һ��ģ��,��,����Բ��ϸ���ճ��,��������Ҫ��֤������ȷ��,��֤����ͨ��
	 * 		�����������������޷�������ŵ�
	 * 
	 * 	����Ϣ��װ������ڲ�,�Ҳ���Ҫ�˽⿪���ľ������
	 * 	���������,���˿���,��ô��صķ����ǲ���Ӧ��д����class����,����Ϊʲô��ʦ,����˵�������д�ڳ�class������?
	 * 	����������Ƶ��˵:
	 * 		�������һ����Ҫ��˼ά:���ʵķ���,Ӧ�ó����ں��ʵ�������
	 * 		�����˸�����ο���ȥ�½�,(����ʲô,�Լ����˽��Լ��ṹ.��ʹ�Լ��ڲ��ṹ����,��ֻ��ı䳵���ڲ��ṹ,
	 * 		�ṩ���,���������)
	 * 
	 * �������,��ʵҲ����˵�� ��������.
	 * new��������,�Ǿ���ʵ����
	 * object instanceof class    		object ����
	 * -----------------------------------------------------------------------------
	 * 
	 * ����(��)ֱ�ӵĹ�ϵ:(Ϊ���ģʽ�����)��ϵ��ϵ֮���ǲ�ͬ��
	 * 1.������ϵ,����,��һ���ϵ,��������
	 * 		ѧԺ ���� ѧ��
	 * 		ӳ�䵽������,һ����ķ�������,��һ����ľ������  	�������������Ķ���
	 * 		eg.���ڽ�(ѧ��)	ѧԺ��(����)
	 *
	 * 2.�̳й�ϵ,xx��һ��xx
	 * 		�˶�Ա	��Ӿ�˶�Ա ����˶�Ա �����˶�Ա(����.����.�����˶�Ա)
	 * 		�̳л�����̳���
	 * 			��ʵ��,һ��һ���಻�Ǵ�һ����̳�	����C++���ڶ�̳�(����������Դ�������,���ô���)
	 * 			���̳����޷�������ŵ�,���̳�֮��,�����������,������ѭ���̳�,ģ����������
	 * 
	 * 3.�ۺϹ�ϵ(����Ͳ���)xx��xx��һ����	
	 * 		�ۼ�.�����,һ���˷���2�����,���������
	 * 			���	   �ӳ�,��Ա
	 * 		���.�����
	 * 			��  �Դ�,��...	
	 * 
	 * 4.ʵ�ֹ�ϵ(�ӿ�)
	 * 		Ӧ�þ���ĳ������,���Ǿ���ʵ�ֲ�֪��,��ͬ����,�����Լ�ʵ��go(ȥ�½�)�ķ���
	 * 		�Ҳ�֪�����ʵ��,�Ǿ�������(����)ʵ�ְ�
	 * 		ϢϢ���,��̬
	 * 			�����ǲ���Ҳ�ð��������氡
	 * 
	 * 
	 * ����.ʹ��.���.��������:
	 * 		1.��������Щ����Щ����
	 * 		2.ÿ��������������,����
	 * 		3.����֮��Ĺ�ϵ
	 * 
	 * ������:������
	 * 
	 * ���,������߲���ϵĳ���
	 * 		�������:������:��˿.����
	 * 		�������:����.����ϲ���һ�����
	 */
	
	/**
	 * primitive��������:ʵ��ʵ��(�ǲ���λ��ջ������?)int i =0;	int j = 0;	��ַ��һ����
	 * ������������:		 ȫ��λ�ڶ���(û���õ�ʱ���gc������) 
	 * 		Dog d = new Dog();
	 * 		Dog a = d;
	 * 		a , d ������ͬһ��,��������ֻ��new Dog()�ĵ�ַ	����a==b
	 * 		��������ж����õ������ʵ��ֵ�Ƿ���ͬ,��Ҫ��equals()�ж�,��ʱ�򻹵���д�������equals,hashcode
	 */
	/**
	 * ����������������	����4��8�ֵ�
	 * int i=0; ֻ��һ������	i 0
	 * �������� 2���ڴ� String s; һ���ַ,ʲôҲû
	 * s=new String("hello world");		new�����Ķ������ڶ��ڴ�heap
	 * 									why?	��Ϊ���ڴ��Ƕ�̬�����,ֻ�����й�����,�Ż�new����,
	 * 											ֻ�������������֪���ڴ�÷�����,�ѱȽϴ�
	 * -------------------------------------------------------------------------------------
	 * ��,��̬����,����data segment
	 * ���� ,��new������,λ�ڶ��ڴ�.	ÿ����Ա����,��ͬ�������в�ͬ��ֵ(static����).
	 * ����ֻ��һ��,ֻ�е��òŻ�ռ���ڴ�
	 * 
	 * public class A{
	 * int num;
	 * int aha;
	 * public static void main(String args){
	 * 		A a1 = new A();
	 * 		A a2 = new A();		
	 * }
	 * }
	 * a1 ,a2���Ǿֲ�����	stack
	 * new A()	heap
	 * ����		code segment
	 * ��������������֮��,��ջ����ڵ����пռ�.���кۼ�����ʧ��(�βε�,�ֲ������Ķ�û��)
	 */

	/**
	 * ��Ͷ���
	 * 
	 * 	�������ͣ�
	 * 		�ࣺ�����,ģ��
	 * 			����(��̬�����ʣ����ݴ�)
	 * 			������Ϊ(��̬)
	 *  
	 *  	���󣺾���ģ�ʵ��
	 *  
	 *  public class ������ {
	 *  	���� ������1��
	 * 		���� ������2��
	 *      public ����ֵ����   ������1(�����б�){}
	 *      public ����ֵ����   ������2(�����б�){}
	 *  }
	 *  
	 *  ʹ������ 
	 *      ���� ������=new ����(); //��������
	 *      	������.����=ֵ��
	 *     		������.����();      
	 *      
	 * 	�ֲ�����(�����ڶ���ı��������������޷�ʹ��)
	 * 	����(ȫ�ֱ���,�������з�������ʹ��)
	 * 		����:
	 * 
	 * 	1.ͬһ�������ھֲ������;ֲ�����֮�䲻������
	 *  2.ͬһ�������Ժ����Բ�������
	 *  3.�ֲ����������Կ�����������������������(�ͽ�ԭ��)
	 * 	4.�����������ԵĻ�,����ʹ�� this.����
	 * 
	 * 	���ڵ��ú��������:
	 *  	���ڷ����е����Լ��ķ���,����,ֱ���÷�������()�������� 
	 *   	���ⷽ���е��ñ��˵ķ���,����,�ȴ�������,ʹ�� ������.����  ����.����
	 *
	 * ����֮����໥����
	 * 
	 * 	�����еķ����ڵ�����һ����ķ�������Լ��Ĺ���
	 * 		method(){
	 * 			��һ���� ����=new ��һ����();
	 * 			����.����()��
	 * 		}
	 * 
	 * ��ֵ������
	 * 		1.ͨ������,����,����ֵ��ֵ
	 * 		2.ʹ�ö���ֵ,ͨ������,��������,����ֵ
	 * 
	 * ֵ���ݺ����ô���
	 * 
	 * ��װ���̳У���̬
	 */
	
	/**
	 * ��Headfirst��˵,���ж���λ�ڶ��ڴ���,�������Ķ�������,û�������Ǹ�����,�Ϳ��Ի�����
	 * ������,Pet pet = new Pet();	petֻ��������,ֻ�е�ַ
	 */
	

	/**
	 * 

	�������ı��  

		1�������ӿ�
		2ʹ�ø����ӿ���ɳ���
		3���������ʵ���࣬�����䴫������еĸ����ӿ���ɳ���

	 * @param args
	 */
	public static void main(String[] args) {
		Pet p=new Pet();
		if (p instanceof Pet) {
			System.out.println("p instanceof Pet");
			p.play(); 
		}
	}
}

class Pet {

	public Pet() {
		super();
	}
	void play(){
		System.out.println("����,����һ�����");
	}

}